//
//  UIButton+extesion.swift
//  微博
//
//  Created by 段瑞金 on 16/5/11.
//  Copyright © 2016年 段瑞金. All rights reserved.
//

import UIKit
// extension相当于OC中的分类, 特点和OC中的分类一样
// 不能定义存储属性
extension UIButton {
    
    /*
    如果想给系统的类新增构造方法, 那么只能新增一个便利构造方法
    如果构造方法是以init开头, 那么该构造方法就是一个指定构造方法
    如果构造方法的init前面还有convenience, 那么这个构造方法就是一个便利构造方法
    
    指定构造器和便利构造器区别:
    指定构造器:
    必须初始化当前类的所有属性
    便利构造器:
    不用初始化当前类的所有属性, 但是它依赖于当前类中的其它构造方法
    必须在`便利构造方法`中调用`当前类`的其它`指定构造方法`
    在开发中, 不要随便定义便利构造器, 只有当需要提供一个方法快速创建对象时, 或者在当前构造方法中没有办法初始化所有属性时, 才定义便利构造器
    */
    convenience init(image : String , backGroundImage : String){
        self.init()
        //设置按钮图片
        self.setImage(UIImage(named: image), forState: .Normal)
        self.setImage(UIImage(named: image + "_highlighted"), forState: .Highlighted)
        //设置按钮背景图片
        self.setBackgroundImage(UIImage(named: backGroundImage), forState: .Normal)
        self.setBackgroundImage(UIImage(named: backGroundImage + "_highlighted"), forState: .Highlighted)
        sizeToFit()
    }
}